package com.yongoe.ecy.thirdNode.convert;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yongoe.ecy.thirdNode.controller.vo.excel.ThirdNodeExcel;
import com.yongoe.ecy.thirdNode.controller.vo.req.ThirdNodeReq;
import com.yongoe.ecy.thirdNode.controller.vo.res.ThirdNodeRes;
import com.yongoe.ecy.thirdNode.entity.ThirdNode;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * 三级节点 convert
 *
 * @author monad
 * @since 2024/03/10
 */
@Mapper(componentModel = "spring")
public interface ThirdNodeConvert {
    /**
     * entity to vo
     */
    ThirdNodeReq entity2Req(ThirdNode entity);

    ThirdNodeRes entity2Res(ThirdNode entity);

    ThirdNodeExcel entity2Excel(ThirdNode entity);

    /**
     * entity to vo List
     */
    List<ThirdNodeReq> entity2ReqList(List<ThirdNode> list);

    List<ThirdNodeRes> entity2ResList(List<ThirdNode> list);

    List<ThirdNodeExcel> entity2ExcelList(List<ThirdNode> list);

    /**
     * entity to vo Page
     */
    Page<ThirdNodeRes> entity2ResPage(Page<ThirdNode> page);

    /**
     * vo to entity
     */
    ThirdNode req2Entity(ThirdNodeReq req);

    ThirdNode excel2Entity(ThirdNodeExcel excel);

    /**
     * vo to entity List
     */
    List<ThirdNode> excel2EntityList(List<ThirdNodeExcel> list);


}